A traditional Flash memory storage device, such as an SD card, MMC, USB, Compact Flash (CF) or Memory Stick (MS), operates at a fixed voltage level of 3.3 volts. As mobile communication host devices, such as PDAs and cell phones, proliferate in the market place, a voltage level of power supply to 1.8 volts is needed in order to conserve battery power dissipation. Dual voltage power sources provide a challenge for an intelligent Flash memory controller. The role of the Flash memory controllers is to provide a seamless interface between any combination of host devices, PCs, PDAs or cell phones, and the Flash memory components residing inside Flash memory storage devices.
FIG. 1 is a block diagram of a conventional Flash memory storage device 50, that consists of a host interface 27, a dual voltage Flash memory controller 20, a Flash memory component 51, and a Flash interface 24. It works through a host device interface 27 with a host device 10. There are six interface combinations between host device 10 and Flash memory 51 as illustrated in List 1 and Table 1.
List 1:    (a) High voltage host and high voltage Flash memory.    (b) Low voltage host and high voltage Flash memory.    (c) Dual voltage host and high voltage Flash memory.    (d) High voltage host and dual voltage Flash memory.    (e) Low voltage host and dual voltage Flash memory.    (f) Dual voltage host and dual voltage Flash memory.
TABLE 1Flash MemoryFlash Memory3.3 V1.8 V/3.3 VHost DeviceInterfaceInterface3.3 Vcombination (a)combination (d)Host DeviceInterfaceInterface1.8 Vcombination (b)combination (e)Host DeviceInterfaceInterface1.8 V/3.3 Vcombination (c)combination (f)
A high voltage host is a host device 10 such as a PC, PDA or cell phone that operates at a single fixed voltage, normally at 3.3 volts. A low voltage host is a host device 10 such as a PDA or cell phone that operates at a single fixed voltage, normally at 1.8 volts. A dual voltage host is a host device 10 such as a PC, PDA or cell phone that can interface with a Flash memory storage device 50 at either a high voltage of 3.3 volts or a low voltage of 1.8 volts, on demand.
A high voltage Flash memory is a Flash memory component 51 that operates at a single fixed voltage, normally at 3.3 volts. It is commonly referred to as a 3.3V Flash memory. A dual voltage Flash memory is Flash memory component 51 that can operate at either a high voltage of 3.3 volts or a low voltage of 1.8 volts, on demand. It is commonly referred to as a 1.8V Flash memory. Even though a dual voltage Flash memory can operate at either voltage, it is beneficial to operate at a low voltage level of 1.8 volt for lower power consumption.
The conventional dual voltage Flash memory controller 20 includes a step-down voltage regulator 25 to provide for a low voltage of 1.8 volts. It is used as a power source for Flash memory 51 as well as for Flash I/O buffer 23. Through proper jumper connection of nodes A 41, B 42, C 43, D 44, E 45 and F 46, it is possible to address all combinations mentioned above, except interface combination (b) which is a low voltage. Accordingly, a host device interfacing with a high voltage memory device means that a low voltage host device 10 can only interface with a dual voltage Flash memory 51, instead of a more available high voltage one.
Nodes A 41, B 42 and C 43 form one jumper set. It functions as a single pole/double-throw power switch with node B 42 as the center pole. Nodes D 44, E 45 and F 46 form one jumper set. It functions as another singe-pole/double-throw power switch with node E 45 as the center pole. SELECT A-B connects nodes A 41 and B 42. SELECT B-C connects nodes B 42 and C 43. SELECT A-B and SELECT B-C are mutually exclusive. SELECT D-E connects nodes D 44 and E 45. SELECT E-F connects nodes E 45 and F 46. SELECT D-E and SELECT E-F are mutually exclusive.
As dual voltage Flash memory availability is heavily dependent on more advanced semiconductor process technology, it is important to provide an intelligent dual voltage Flash memory controller that is able to interface with any Flash memory component, be it dual voltage, high voltage or low voltage.
Referring again to FIG. 1, the conventional dual voltage Flash memory controller 20 includes a host interface 27, host IO buffer 21, kernel control logic 22, Flash IO buffer 23, step-down voltage regulator 25 and Flash interface 24. The memory controller 20 has various interface pads VCCIN IOH 31, VCCIN_H 32, VCCIN_K 35, VCCIN_IOF 36, VCCOUT_F 33, and VCCOUT_K 34 for power input and output. VCCIN_ IOH 31 is the power input to host I/O buffer 21. This pad is always connected to the power output of host device 10 power interface. VCCIN_H 32 is the power input to step-down voltage regulator 25. VCCIN_K 35 is the power input to kernel controller logic 22. VCCIN_IOF 36 is the power input to Flash I0 buffer 23. This pad is always connected to power input VCCIN_F 52 to Flash memory 51. VCCOUT_F 33 is the power output of 1.8 volts from step-down 25, intended for Flash memory 51. VCCOUT_K 34 is the power output of 1.8 volts from step-down voltage regulator 25, intended for kernel controller logic 22.
The power source of VCCIN_F 52 and VCCIN JOF 36 is connected to node B 42 of a three-pin jumper set. One end of the jumper set is node A 41, which is connected to the power interface of host device 10. Another node C 43 is connected to VCCOUT_F 33. The two exclusiveiumper combinations of SELECT A-B and SELECT B-C are used to select the Flash memory 51 power source of the host device 10 power interface or VCCOUT_F 33 of 1.8V respectively.
Another three-pin jumper set is used to configure the mode of operation of a dual voltage card C (not shown) and to correctly reflect the type of Flash memory 51 installed through node E 45. Node D 44 is connected to the power interface of host device 10. Node F 46 is connected to ground. The two exclusive jumper combinations of SELECT D-E and SELECT E-F are used to select the mode of operation of Flash memory storage device 50 of either DUAL VOLTAGE or HIGH VOLTAGE respectively. Dual voltage mode indicates that a 1.8V Flash memory is used. High voltage mode indicates that a 3.3V Flash memory is used. The reason to have jumper nodes D, E, and F is to allow the Flash memory controller 20 to respond to host device 10 during power-on as to which type of Flash memory component 51 is used, either 1.8V (dual voltage) or 3.3V (high voltage).
FIG. 2 is a flow chart showing how the Flash memory controller 20 responds to a query from the host device 10 after power-on. After power-on, the Flash memory controller waits for command 300 from host device 10. The host device 10 will send voltage query command 301 to Flash memory storage device 50. Flash memory controller 20 responds with correct voltage type 302 of Flash memory 51 based on dual voltage card select node E 45 from the jumper set.
If high voltage card mode is returned, the host device 10 will decide if it is able to support the Flash memory storage device 50. If not, the power source from the power interface of host device 10 will be turned off and the Flash memory storage device is disabled. If dual voltage card mode is returned, host device 10 will decide if it is able to provide a 1.8 volts power source to Flash memory storage device 50. If so, it will decide if it should turn off the power source and turn it back on at 1.8 volts 304. If not, the original power source is maintained and the initialization sequence continues. The Flash memory storage device is ready to accept an identification command 305 from the host 10. It is then ready for data transfer 306 from the host device 10.
Referring again to FIG. 1, there are two possible sets of valid jumper combinations as depicted in Table 2 and Table 3 to select the power source feeding into power pad VCCIN IOF 36 of flash I/O buffer 23 and power pad VCCIN_F 52 of Flash memory 51 in FIG. 1.
TABLE 2Flash MemoryFlash MemoryPrior Art (1)3.3 V1.8 V/3.3 VHost DeviceSELECT A-BSELECT B-C3.3 VSELECT E-FSELECT D-EHost DeviceNOT ALLOWEDSELECT B-C1.8 VSELECT D-EHost DeviceSELECT A-BSELECT B-C1.8 V/3.3 VSELECT E-FSELECT D-E
Where:
SELECT A-B: Connect jumper nodes A and B.
SELECT B-C: Connect jumper nodes B and C.
SELECT D-E: Connect jumper nodes D and E.
SELECT E-F: Connect jumper nodes E and F.
SELECT G-H: Connect jumper nodes G and H.
SELECT H-I: Connect jumper nodes H and I. The combination labeled “NOT ALLOWED” corresponds to interface combination (b) in List 1.
TABLE 3Flash MemoryFlash MemoryPrior Art (2)3.3 V1.8 V/3.3 VHost DeviceSELECT A-BSELECT A-B3.3 VSELECT E-FSELECT D-EHost DeviceNOT ALLOWEDSELECT A-B1.8 VSELECT D-EHost DeviceSELECT A-BSELECT A-B1.8 V/3.3 VSELECT E-FSELECT D-E
With a single step-down voltage regulator, the conventional Flash memory controller does not allow a 1.8V host device to interface with a 3.3V Flash memory, as shown in Table 2 and Table 3.
Accordingly, what is needed is a Flash memory controller that provides the following features: (a) allows a host to interface with a plurality of Flash memory components of different voltages in any combination; (b) improves power consumption efficiency; (c) eliminates external jumper selection for power source configuration; and (d) simplifies Flash memory controller power source interface pin-outs. The present invention addresses such a need.